/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Negocio;

import Persistencia.PEvento;
import java.util.Date;
import java.util.List;


/**
 *
 * @author JAVA
 */
public abstract class Evento {
    private Date fechaIni;
    private Date fechaFin;
    private String nombre;
    private String descripcion;
    private String rutaFoto;
    private Usuario usuario;
    private List<Comentario> listacomentarios;
    private int id;
    

    public Evento(Date fechaIni, Date fechaFin, String nombre, String descripcion, Usuario usuario) {
        this.fechaIni = fechaIni;
        this.fechaFin = fechaFin;
        this.nombre = nombre;
        this.descripcion = descripcion;
        this.usuario = usuario;
    }

    public Evento(int id,Date fechaIni, Date fechaFin, String nombre, String descripcion, String rutaFoto, Usuario usuario, List<Comentario> listacomentarios) {
        this.fechaIni = fechaIni;
        this.fechaFin = fechaFin;
        this.nombre = nombre;
        this.descripcion = descripcion;
        this.rutaFoto = rutaFoto;
        this.usuario = usuario;
        this.listacomentarios = listacomentarios;
        this.id = id;
    }
    
    public Evento(int id,Date fechaIni, Date fechaFin, String nombre, String descripcion, String rutaFoto, Usuario usuario) {
        this.fechaIni = fechaIni;
        this.fechaFin = fechaFin;
        this.nombre = nombre;
        this.descripcion = descripcion;
        this.rutaFoto = rutaFoto;
        this.usuario = usuario;
    }
    
     public Evento(int id,Date fechaIni, String nombre, String rutaFoto) {
        this.fechaIni = fechaIni;
        this.nombre = nombre;
        this.rutaFoto = rutaFoto;
    }

    public Evento() {
    }
    
    

    public String getDescripcion() {
        return descripcion;
    }

    public void setDescripcion(String descripcion) {
        this.descripcion = descripcion;
    }

    public Date getFechaFin() {
        return fechaFin;
    }

    public void setFechaFin(Date fechaFin) {
        this.fechaFin = fechaFin;
    }

    public Date getFechaIni() {
        return fechaIni;
    }

    public void setFechaIni(Date fechaIni) {
        this.fechaIni = fechaIni;
    }

    public List<Comentario> getListcomentarios() {
        return listacomentarios;
    }

    public void setListcomentarios(List<Comentario> listcomentarios) {
        this.listacomentarios = listcomentarios;
    }

    

    public String getNombre() {
        return nombre;
    }

    public void setNombre(String nombre) {
        this.nombre = nombre;
    }

    public String getRutaFoto() {
        return rutaFoto;
    }

    public void setRutaFoto(String rutaFoto) {
        this.rutaFoto = rutaFoto;
    }

    public Usuario getUsuario() {
        return usuario;
    }

    public void setUsuario(Usuario usuario) {
        this.usuario = usuario;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public abstract void crearEvento();
    public abstract List<Evento> mostrarEventos(Usuario usuario, int tipo);
    public abstract void modificarEvento();
    public abstract void eliminarEvento();    
    public abstract Evento seleccionarEvento();
    public static Evento seleccionarEventoLite(int codEvento) {
        Evento e = PEvento.seleccionarEventoLiteBD(codEvento);
        return e; 
    }
}

